//***************************************************************************
//*
//*	File:			DialogConfigure.h
//*	Description:	Dialog for managing configurations
//*
//***************************************************************************
//*
//*	Note:			This source code is provided "as is" meaning that you may 
//*					use it at your own risk. 
//*					You are free to use it in any way you like.
//*
//***************************************************************************
//*
//*	History:		
//*
//*	-------------------------------------------------------------------------
//*	2003/07/27	|	Initial release									|	rk
//*	-------------------------------------------------------------------------
//*
//***************************************************************************

//
//-------------------------------------------------------------- PREPROCESSOR 
//

#ifndef			__DIALOGCONFIGURE_H_INCLUDED
#define			__DIALOGCONFIGURE_H_INCLUDED

#if				_MSC_VER > 1000
#pragma once
#ifdef			__SWITCH_SHOW_HEADER
#pragma message ("-- DialogConfigure.h\n")
#endif
#ifdef			__SWITCH_SHOW_HEADER_TREE
#pragma message ("-- "__FILE__"\n")
#endif
#endif 

//
//-------------------------------------------------------------- DEPENDENCIES
//

//
//--------------------------------------------------------- CLASS DECLARATION
//

//***************************************************************************
//**	@DOC		CLASS CDialogConfigure
//***************************************************************************
//*		@CLASS		Dialog for managing configurations
//**	@BASE		Dialog
//***************************************************************************
class CDialogConfigure : public CDialog
{
	//																									
	//-----------------------------------------------------------------------							
	//***************************     ATTRIBS     ***************************							
	//-----------------------------------------------------------------------							
	//																									
private:																					// @ACCESS	Private Attributes	
	//{{AFX_DATA(CDialogConfigure)
	enum { IDD = IDD_CONFIGURATION };
	CButton			m_StatusWarnErr		;
	CStatic			m_StatusText		;
	CEdit			m_StatusLine		;
	CEdit			m_SendTo			;
	CStatic			m_SendText			;
	CButton			m_SendMail			;
	CButton			m_SendGroup			;
	CStatic			m_FileName			;
	CButton			m_Browse			;
	CButton			m_BodyGroup			;
	CEdit			m_BodyFileName		;
	int				m_iFinishedAction	;
	//}}AFX_DATA

	IApplication*	m_pIApplication		;
	CString			m_strSendTo			;
	CString			m_strStatusLine		;
	CString			m_strFileToSend		;
	BOOL			m_bSendFile			;
	BOOL			m_bIncBuildResults	;
	BOOL			m_bMailOnEach		;
	BOOL			m_bSendMail			;

	//																							
	//-----------------------------------------------------------------------					
	//***************************     GET/SET     ***************************					
	//-----------------------------------------------------------------------					
	//																							
public:																						// @ACCESS	Public Get/Set Methods	
	void SetApplication	( IApplication*		a_pIApplication			)			;			// @CMEMBER	Sets the pointer to the application's interface

	//																							
	//-----------------------------------------------------------------------					
	//*************************     PERISTENCE     **************************					
	//-----------------------------------------------------------------------					
	//																							
private:																					// @ACCESS	Private Persistency Methods	
	void LoadProfile	( void )												;			// @CMEMBER	Loads profile settings from the registry
	BOOL WriteProfile	( void )										const	;			// @CMEMBER	Saves profile settings to   the registry

	//																							
	//-----------------------------------------------------------------------					
	//**************************     VIRTUALS     ***************************
	//-----------------------------------------------------------------------					
	//																							
	//{{AFX_VIRTUAL(CDialogConfigure)
protected:																					// @ACCESS	Protected Overridables
	virtual void DoDataExchange		( CDataExchange* pDX );									// @CMEMBER	DDX/DDV Support
	//}}AFX_VIRTUAL

	//																							
	//-----------------------------------------------------------------------					
	//**************************     MESSAGES     ***************************
	//-----------------------------------------------------------------------					
	//																							
protected:																					// @ACCESS	Protected Message Handlers
	//{{AFX_MSG(CDialogConfigure)
	afx_msg void OnProjects			();														// @CMEMBER	Called when the Projects		button is pressed
	afx_msg void OnBrowse			();														// @CMEMBER	Called when the Browse			button is pressed
	afx_msg void OnSendFileAsBody	();														// @CMEMBER Called when the SendFileAsBody	button is pressed
	afx_msg void OnBlankBody		();														// @CMEMBER Called when the BlankBody		button is pressed
	afx_msg void OnSendMail			();														// @CMEMBER	Called when the SendMail		button is pressed
	virtual void OnOK				();														// @CMEMBER Called when the OK				button is pressed
	virtual BOOL OnInitDialog		();														// @CMEMBER Called to initialize the dialog
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()

	//																						
	//-----------------------------------------------------------------------				
	//***********************     CON/DESTRUCTION     ***********************				
	//-----------------------------------------------------------------------				
	//																						
public:																						// @ACCESS	Public Con-/Destruction Methods	
	CDialogConfigure( CWnd* pParent = NULL );												// @CMEMBER	Default constructor
};

//{{AFX_INSERT_LOCATION}}

#endif // #ifndef			__DIALOGCONFIGURE_H_INCLUDED
